const { sequelize, User, Message, initDB } = require('./Config/sqliteDB');
const bcrypt = require('bcrypt');

// 测试函数
async function testDB() {
  try {
    // 初始化数据库
    await initDB();
    
    // 添加测试用户
    const hashedPassword = await bcrypt.hash('123456', 10);
    
    await User.create({
      username: '测试用户1',
      phone: '13800138001',
      password: hashedPassword
    });
    
    await User.create({
      username: '测试用户2',
      phone: '13800138002',
      password: hashedPassword
    });
    
    console.log('测试用户创建成功');
    
    // 添加测试消息
    await Message.create({
      sender_id: 1,
      receiver_id: 2,
      conversation_id: '1_2',
      content: '你好，这是一条测试消息',
      message_type: 'text'
    });
    
    console.log('测试消息创建成功');
    
    // 查询测试
    const messages = await Message.findAll({
      include: [{ model: User, as: 'sender' }]
    });
    
    console.log('查询到的消息：', JSON.stringify(messages, null, 2));
    
  } catch (error) {
    console.error('测试失败:', error);
  } finally {
    // 关闭连接
    await sequelize.close();
  }
}

// 运行测试
if (require.main === module) {
  testDB();
}